There are many types of additive manufacturing (i.e., 3D printing) systems and methods. One method utilizes photosensitive polymers (i.e., photopolymers) that cross-link and harden from a liquid resin to a solid polymeric material upon exposure to light. These photoreactive 3D printing systems typically include a resin pool, an illumination system, and a print platform, where the illumination system projects an image into the resin pool causing a layer of a polymeric object to be formed on the print platform. The print platform then moves the printed layer out of the focal plane of the illumination system, and then the next layer is exposed (i.e., printed).
Conventional photoreactive 3D printing systems operate in an open loop manner relying on fixed process settings that cater to a general purpose use case. This solution results in poor product performance and produces parts of low quality in a non-repeatable manner. In some cases, process adjustments are made to enable a challenging use case that, when applied to other use cases, render the system performance well below optimal for general less challenging use cases. Another conventional approach is to optimize a specific set of printing process parameters for each individual print job. As the number of parameters available to optimize the printing process is quite large, the effort required to create a tuned process for each job can be extensive. The use of a trial and error approach is often employed. The results of this approach to print process optimization is only marginally effective in translating into a successful final product as the conditions existing during the process development work are rarely present during the final part production. Additionally, since the resulting problems with part quality are not detected during the printing process itself, subsequent print jobs and even entire production runs may be completed with the errors going undetected thus rendering all output as scrap and the machine time as lost work. In many cases, there is also a trade-off between printing speed and printed object quality, which is difficult to optimize for different use cases.